1. Technical Field
The present invention relates to an improved data processing system and in particular to a method and apparatus for updating data processing systems. Still more particularly, the present invention relates to an improved method, apparatus, and computer instructions for determining when an update should be applied to a data processing system.
2. Description of Related Art
Vendors currently provide updates to software and firmware on a regular basis. For example, a software update is any update, update rollup, service pack, future pack, critical update, or security update that is used to improve or fix a product. Typically, an update is a broadly released fix for a specific problem. An update may address non-critical and non-secure related bugs. Additionally, firmware updates may be provided for hardware. In these examples, updates also may include upgrades for the software which runs on the clients. For example, a software update may be provided for a network adapter. In a similar fashion, firmware may be provided to update the network adapter.
In providing these updates, vendors typically distribute them through the Internet. Client programs, such as agents, are employed on clients to identify and receive updates. Updates may be automatically applied or selectively applied through a user input.
It is often difficult for system administrators to figure out when a particular client system is in need of an update. Software and firmware fixes from vendors may be released very frequently. Not all vendor updates released, however, are needed for every client in the system. On the other hand, some updates are very critical for other clients. As a result, identifying which updates to apply to which data processing systems becomes a difficult and time-consuming task for system administrators to accurately maintain hundreds of thousands of data processing systems under their control.
Today, vendors typically only notify an administrator of updates with the description of the issue being addressed. The decision of whether to apply an update is up to the discretion of the system administrator. The system administrator must then review each update in detail to determine whether to apply the update. This process is a time-consuming task and requires the administrator to understand the systems which may be affected by the many different updates. Although automatic update systems are available, many administrators disable these systems to avoid application of updates before the updates are verified as compatible. Thus, this process may require some qualification or verification test before deploying an update into a network. For a large data center, this process frequently results in delays in updates with software and hardware continuing to execute a potentially risky state with lower versions of code.
Therefore, it would be advantageous to have an improved method, apparatus, and computer instructions for determining when to apply updates to a data processing system.